/*
 * constants.h
 *
 *  Created on: 03.05.2011
 *      Author: Jasper
 */

#ifndef CONSTANTS_H_
#define CONSTANTS_H_

// Ports
#define PORT_A DIO_PORTA_OFFSET << 8
#define PORT_B DIO_PORTB_OFFSET << 8
#define PORT_C DIO_PORTC_OFFSET << 8

// Port A
#define MOT_RECHTS (PORT_A) | 0x01
#define MOT_LINKS (PORT_A) | 0x02
#define MOT_SLOW (PORT_A) | 0x04
#define MOT_STOP (PORT_A) | 0x08
#define WEICHE (PORT_A) | 0x10
#define AMPEL_GRUN (PORT_A) | 0x20
#define AMPEL_GELB (PORT_A) | 0x40
#define AMPEL_ROT (PORT_A) | 0x80

// Port B
#define WKST_EINL (PORT_B) | 0x01
#define WKST_HO_MESS (PORT_B) | 0x02
#define WKST_HO_OK (PORT_B) | 0x04
#define WKST_WEICHE (PORT_B) | 0x08
#define WKST_MET (PORT_B) | 0x10
#define WEICHE_OPEN (PORT_B) | 0x20
#define RUTSCH_VOLL (PORT_B) | 0x40
#define WKST_AUSL (PORT_B) | 0x80

// Port C
#define LED_STARTTASTE (PORT_C) | 0x01
#define LED_RESETTASTE (PORT_C) | 0x02
#define LED_Q1 (PORT_C) | 0x04
#define LED_Q2 (PORT_C) | 0x08
#define BUT_START (PORT_C) | 0x10
#define BUT_STOP (PORT_C) | 0x20
#define BUT_RESET (PORT_C) | 0x40
#define BUT_NOTAUS (PORT_C) | 0x80

// HW-Data
#define DIO_BASEADDR 0x300
#define DIO_PORTA_OFFSET 0x00
#define DIO_PORTB_OFFSET 0x01
#define DIO_PORTC_OFFSET 0x02
#define DIO_CONTROL_OFFSET 0x03

// IRQ
#define IRQ 11

#endif /* CONSTANTS_H_ */
